AMan

A documentation browser for the Amiga

Edition 0.9b for version 1.15. 4 October 1995

Tobias Ferber

Copyright \begin{matrix}c \\ ◯ \end{matrix} 1994,95 Tobias Ferber, <ferber@rpk.mach.uni-karlsruhe.de>.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the author.

GNU GENERAL PUBLIC LICENSE

Version 2, June 1991

Copyright \begin{matrix}c \\ ◯ \end{matrix} 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software—to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation’s software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author’s protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors’ reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone’s free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

1. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The “Program”, below, refers to any such program or work, and a “work based on the Program” means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term “modification”.) Each licensee is addressed as “you”. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

2. You may copy and distribute verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

3. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a. You must cause the modified files to carry prominent notices stating that you changed the

files and the date of any change. b. You must cause any work that you distribute or publish, that in whole or in part contains

or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

c. If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

4. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a. Accompany it with the complete corresponding machine-readable source code, which must

be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

b. Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

c. Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

5. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

6. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

7. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients’ exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

8. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

9. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

10. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and “any later version”, you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

11. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

NO WARRANTY

12. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WAR-RANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLD-ERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WAR-RANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PER-FORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRIT-ING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CON-SEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), GNU GENERAL PUBLIC LICENSE 5

EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSI-BILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.

one line to give the program’s name and an idea of what it does.

Copyright (C) 19yy name of author
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'.  This is free software, and you are welcome
to redistribute it under certain conditions; type `show c'
for details.

The hypothetical commands ‘show w’ and ‘show c’ should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than ‘show w’ and ‘show c’; they could even be mouse-clicks or menu items—whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a “copyright disclaimer” for the program, if necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright
interest in the program `Gnomovision'
(which makes passes at compilers) written
by James Hacker.

signature of Ty Coon, 1 April 1989

Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.

8 AMan

1 Introduction

AMan is a documentation browser for the Amiga. The idea is very simple and the implementation is simple as well: Similar to the Unix ‘man’ command it locates documentation files on your disk and spawns an external viewer. AMan uses the FDB tool by Klaus Melchior to locate the files and opens a minimal MUI window to allow a selection. See Chapter 5 [FDB], page 17, and Chapter 6 [MUI], page 19, for details. Of course these tools are not included in this archive.

Actually, AMan is only a quick hack. I initially wrote this tool for my private use only and I wrote it simply because I didn’t want to use MrMan anymore. Nevertheless, AMan’s concept is quite close to that of MrMan, however it makes heavily use of the said tools which are installed on my system anyway. And why should I invent the wheel over and over again? Even Stuntzi’s

MagicFileRequester (MFR) makes use of FDB!

10 AMan

2 Installing AMan

2.1 Requirements

AMan makes heavily use of some tools which therefore must be installed on your system. Of course these tools are not included in this archive.

• Kickstart/Workbench V37 or better (including ‘More’ and ‘AmigaGuide’ or ‘MultiView’ respectively).

• The MagicUserInterface ‘MUI’. See Chapter 6 [MUI], page 19, for details. I tested AMan with

    muimaster.library version 10.0.

• The FindDB clone ‘FDB’. See Chapter 5 [FDB], page 17, for more information. The archive ‘util/cli/FDB1_3.lha’ can be obtained (e.g. via ftp) from the Aminet. Please make sure that the ‘FDB’ executable is in your path!

Besides that, a pager like ‘Most’ or ‘MuchMore’ is recommend but not required.

2.2 Installation

Installing AMan is quite simple. You only have to copy the file ‘aman.000’ (or ‘aman.030’ if you have an MC-68030 Amiga) somewhere into your path (e.g. to ‘C:’) and rename it to ‘aman’.

     Copy aman.030 TO C:aman

You might as well want to install the ldb2db tool. See Chapter 4 [Hints], page 15, for a description. Simply copy it somewhere into your path as well.

Since AMan needs FDB, you have to install FDB if you don’t already have it. You should now make a database via UDB. Note that by default, AMan will only find files which are listed in ‘FindDB:aman.codes’. For example you might want to try the following:

     UDB DB=aman help:

This will create the database ‘FindDB:aman.codes’ which contains all files in ‘help:’. If you are using AMan regularly then you might want to create a file ‘FindDB:aman.config’ which contains all the pathnames that should be scanned if you type ‘UDB DB=aman’. For example,

     Echo >FindDB:aman.config "help: docs: autodocs: gnu:man/"

Before running AMan for the first time, you should make sure that MUI is installed on your system. See Chapter 6 [MUI], page 19, for details.

AMan is now ready for a first take-off. However, AMan will assume you want to use MultiView to view all types of documents. If you prefer some other pagers then you have to create a file ‘ENV:aman.config’. This file will be parsed by AMan via ReadArgs() in order to find out which viewer to use for the selected filename. The following example is included in this archive:

; Template: PATTERN/A,COMMAND/A
"#?.(doc|readme|txt)"  "Most *"%s*""
"#?.dvi"               "ShowDVI *"%s*""
"#?.guide"             "AmigaGuide *"%s*""
"#?"                   "MultiView *"%s*""

Empty lines and lines beginning with a semicolon ‘;’ are ignored. If no pattern matches or if ‘ENV:mrman.config’ does not exist, then AMan uses the following default:

PATTERN "#?"  COMMAND "Run <NIL: >NIL: MultiView *"%s*""

As you can see it is also possible to run viewers asynchronously. For those among you who like it even more complex: I use the following command for the pattern "#?/man[1-9]/#?.[1-9]" in my

‘aman.config’:
"NewWSH CONSOLE NIL: COMMAND *"groff -Tascii -man ***"%s***" | More*""

Example: Okay, lets try out AMan now. First we will create an FDB database for AMan from the ‘gnu:man’ directory:

UDB db=aman gnu:man/

Now let’s see whether AMan knows something about ‘gcc’.

aman gcc

AMan should now open a MUI window with a listview containing some alphabetically sorted entries like that:

gnu:man/man1/gcc.0
gnu:man/cat1/hunk2gcc.0
gnu:man/cat1/gcc.0
gnu:man/man1/gcc.1

Simply select one of those with your cursor keys and press RETURN. Your viewer should spawn and show the selected document. Press ESC to quit AMan.

3 Invoking AMan

3.1 Running AMan From A Shell

When invoked from within a shell, AMan uses ReadArgs() with the following template in order to parse command-line arguments:

     DB=DataBase/K,H=Hide/K,E=Exact/S,P=Pattern/A/M

The ‘DB=DataBase’ parameter can be used to force AMan to use a different database than

‘FindDB:aman.codes’. For example,
     aman db=find .texi

will use the default database ‘FindDB:find.codes’ to locate Texinfo files. Especially when using other databases there might also appear non-doc files in AMan’s listview which you might want to ‘Hide’… For example, to avoid the listing of icons you can invoke AMan as follows:

     aman hide #?.info .dvi

This will show all the ‘.dvi’ files listed in ‘FindDB:aman.codes’ but not their icons.

Note: The patterns given to AMan are directly passed to FDB. Especially the ‘E=Exact/S’ switch is an FDB switch which allows real AmigaDOS patterns instead of only a sub-strings. Please consult your FDB documentation for details. (E.g. via ‘aman fdb’)

Note also: AMan internally makes use of the FDB switch ‘F=Files/S’. Nevertheless, FDB returns directories together with files every now and then. It’s a good idea to invoke AMan with the option ‘HIDE #?/’ as a workaround to avoid the listing of directories in AMan’s listview.

3.2 Running AMan From The Workbench

Especially when starting AMan from the Workbench the ‘Pattern’ string gadget is needed. It is active automatically when run from the Workbench, however it can be easily toggled by pressing the TAB key when inactive.

After pressing RETURN in the string gadget, AMan will parse it’s contents via ReadArgs() using the same template as when invoked from the shell. This guarantees full functionality without too much effort. ;-)

14 AMan

4 Hints & Tips

AMan always strives to allow intuitive usage. Nevertheless, some of the following hints might help you to make full profit of what AMan offers.

4.1 Extracting ‘aman.codes’ From Other Databases

Good applications, especially if they have their own drawer, want their doumentation located inside this drawer as well. This makes sense since uninstalling such an application by simply deleting it’s drawer will leave no trails. However, this way the documentation files are spread all over your disk(s) in their application drawers which makes maintaining the FDB configuration ‘aman.config’ quite hard. This is why I wrote ldb2db, a quick hack which converts a list of files into a FDB compatible database. Let me explain how to use ldb2db:

I regularly perform an UDB of my three main partitions: ‘System:’, ‘Work:’ and ‘Devel:’ via CyberCron. My ‘CronTab’ entry looks like this:

     15  1    * * *    UDB System: Work: Devel:  :PRI -5

Now of course all the documentation files have already been collected into this database! The LDB tool, which is part of the FDB distribution, can be used to list the files in a database to stdout and here it comes to ldb2db:

     LDB find | pgrep -x -i #?.(doc|guide) | ldb2db >FindDB:aman.codes
This extracts all ‘.doc’ or ‘.guide’ files listed in ‘FindDB:find.codes’ to ‘FindDB:aman.codes’.

Of course you can also specify a larger pattern for pgrep such as

     pgrep -x -i #?.(guide|doc|man|txt|readme|dvi|ps|texi|texinfo)

Note: pgrep is FreeWare and was written by Angela Schmidt, angela@rz.uni-karlsruhe.de. It is available with her pattern.library distribution.

16 AMan

5 FDB – A FindDB/UpdateDB Clone

The FDB and UDB tools base on FindDB and UpdateDB by Larry Phillips and Martin Steppler. UDB collects filenames from a couple of path names into a database file and FDB locates patterns in these databases. AMan uses FDB in order to retrieve the documentation files.

FDB is \begin{matrix}c \\ ◯ \end{matrix} Copyright 1993-94 kMel, Klaus Melchior,

Schulstraße 17, D-52156 Monschau, Germany. Phone: +49 (0)2472 4710

ADSP: kmel@eifel.adsp.sub.org
DE: kmel@eifel.fido.de
FIDO: 2:242/7.2@fidonet, 2:2452/107.2@fidonet

18 AMan

6 MUI – MagicUserInterface

   AMan uses

MUI - MagicUserInterface \begin{matrix}c \\ ◯ \end{matrix} Copyright 1993/94 by Stefan Stuntz

MUI is a system to generate and maintain graphical user interfaces. With the aid of a preferences program, the user of an application has the ability to customize the outfit according to his personal taste.

MUI is distributed as shareware. To obtain a complete package containing lots of examples and more information about registration please look for a file called ‘muiXXusr.lha’ (‘XX’ means the latest version number) on your local bulletin boards or on public domain disks.

If you want to register directly, feel free to send DM 30.– or US$ 20.– to

Stefan Stuntz Eduard-Spranger-Straße 7 80935 München GERMANY 20 AMan Master Index 21

Master Index

A

AMan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 aman.000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 aman.030 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 aman.codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 aman.config. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 AmigaGuide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Aminet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

C

Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 CronTab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 CRSR-Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 CRSR-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 CyberCron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

D

DB=Database/K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

E

ENV:aman.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 ESC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

F

FDB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9, 11, 17 FDB1 3.lha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 FindDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 FindDB:aman.codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 FindDB:aman.config. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

H

Hide/K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

I

Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Invokation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

K

Kickstart, Required Version . . . . . . . . . . . . . . . . . . . . . . . . 11 kMel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9, 17

L

LDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 ldb2db . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

M

MagicFileRequester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 MagicUserInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Melchior, Klaus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9, 17 MFR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Most. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 MrMan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 MuchMore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 MUI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9, 11, 19 muimaster.library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 MultiView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

P

P=Pattern/A/M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 pattern.library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Patterns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 pgrep. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Phillips, Larry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

R

ReadArgs() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12, 13

S

Schmidt, Angela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Shell, Invoking from . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 ShowDVI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Steppler, Martin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Stuntz, Stefan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9, 19

T

TAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Tricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

U

UDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9, 17 UpdateDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

W

Workbench, Invoking from . . . . . . . . . . . . . . . . . . . . . . . . . 13 Workbench, Required Version . . . . . . . . . . . . . . . . . . . . . . 11

22 AMan

Table of Contents

GNU GENERAL PUBLIC LICENSE . . . . . . . . . . . . . . . . . 1

Preamble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND

MODIFICATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 How to Apply These Terms to Your New Programs . . . . . . . . . . . . . . . . . . . . 6

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Installing AMan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Invoking AMan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1 Running AMan From A Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2 Running AMan From The Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 Hints & Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.1 Extracting ‘aman.codes’ From Other Databases . . . . . . . . . . . . . . . . . 15

5 FDB – A FindDB/UpdateDB Clone . . . . . . . . . . . . . 17

6 MUI – MagicUserInterface . . . . . . . . . . . . . . . . . . . . . . . 19

Master Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

ii AMan